[INFO] fetching crate sdcons 0.1.0...
[INFO] testing sdcons-0.1.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate sdcons 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate sdcons 0.1.0
[INFO] finished tweaking crates.io crate sdcons 0.1.0
[INFO] tweaked toml for crates.io crate sdcons 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sdcons 0.1.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 48 packages to latest compatible versions
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.10.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 109d022cebf7b0bd32e74018da39e7ece501054606d4b5abf2b01371406749c5
[INFO] running `Command { std: "docker" "start" "-a" "109d022cebf7b0bd32e74018da39e7ece501054606d4b5abf2b01371406749c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "109d022cebf7b0bd32e74018da39e7ece501054606d4b5abf2b01371406749c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "109d022cebf7b0bd32e74018da39e7ece501054606d4b5abf2b01371406749c5", kill_on_drop: false }`
[INFO] [stdout] 109d022cebf7b0bd32e74018da39e7ece501054606d4b5abf2b01371406749c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 209d24865e0e971b1fdd62156b273997b814f55cf1a7ab69fecb1d252ef34e48
[INFO] running `Command { std: "docker" "start" "-a" "209d24865e0e971b1fdd62156b273997b814f55cf1a7ab69fecb1d252ef34e48", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling sdcons v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/sdcons/cons.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]   --> src/sdcons/progress.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::types::{ConfigStage, Entry, EntryMeta, HardState, MemberState};
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/sdcons/progress.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use chrono::{prelude::*, DateTime};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/sdcons/progress.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/sdcons/storage.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/sdcons/storage.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:264:44
[INFO] [stdout]     |
[INFO] [stdout] 264 |         e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:265:35
[INFO] [stdout]     |
[INFO] [stdout] 265 |         e.start_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:272:48
[INFO] [stdout]     |
[INFO] [stdout] 272 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:280:48
[INFO] [stdout]     |
[INFO] [stdout] 280 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:281:39
[INFO] [stdout]     |
[INFO] [stdout] 281 |             e.start_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/progress.rs:349:44
[INFO] [stdout]     |
[INFO] [stdout] 349 |             last_liveness_at: Local::now().timestamp_nanos(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]     --> src/sdcons/cons.rs:1410:37
[INFO] [stdout]      |
[INFO] [stdout] 1410 |     fn handle_read_reply(&mut self, from: u64, msg: ReadReplyMsg) {
[INFO] [stdout]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sdcons/cons.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl TransferingRecord {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 310 |     fn new(channel_id: u64, to: u64) -> TransferingRecord {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `choosen_id`, `pending_id`, and `applied_id` are never read
[INFO] [stdout]    --> src/sdcons/cons.rs:475:5
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub(crate) struct Sdcons {
[INFO] [stdout]     |                   ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 475 |     choosen_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 476 |     pending_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 477 |     applied_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Sdcons` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_index_student` and `is_channel_candidate` are never used
[INFO] [stdout]    --> src/sdcons/cons.rs:589:8
[INFO] [stdout]     |
[INFO] [stdout] 567 | impl Sdcons {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 589 |     fn is_index_student(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     fn is_channel_candidate(&self, channel_id: u64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]    --> src/sdcons/progress.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Progress {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 138 |     pub node_id: u64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Progress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_liveness_at` is never read
[INFO] [stdout]    --> src/sdcons/progress.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ChannelInfo {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub last_liveness_at: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChannelInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_term` and `is_student` are never used
[INFO] [stdout]    --> src/sdcons/progress.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl ChannelInfo {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn current_term(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub fn is_student(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `member_id` is never read
[INFO] [stdout]   --> src/sdcons/storage.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(super) struct EntryQueue {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 30 |     pub member_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntryQueue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `first_entry_id`, `last_entry_meta`, `first_index_of_term`, and `last_stabled_entry_id` are never used
[INFO] [stdout]    --> src/sdcons/storage.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl EntryQueue {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn first_entry_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     fn last_entry_meta(&self) -> (u64, u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn first_index_of_term(&self, channel_term: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn last_stabled_entry_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `range`, `applied_index_range`, and `entry_index_id` are never used
[INFO] [stdout]    --> src/sdcons/storage.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl MemStorage {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 178 |     pub fn new(id: u64) -> MemStorage {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn range(&self, from: u64, to: u64, max_bytes: u64) -> Vec<Entry> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn applied_index_range(&self) -> (u64, u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     pub fn entry_index_id(&self, channel_id: u64, entry_id: u64) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.16s
[INFO] running `Command { std: "docker" "inspect" "209d24865e0e971b1fdd62156b273997b814f55cf1a7ab69fecb1d252ef34e48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "209d24865e0e971b1fdd62156b273997b814f55cf1a7ab69fecb1d252ef34e48", kill_on_drop: false }`
[INFO] [stdout] 209d24865e0e971b1fdd62156b273997b814f55cf1a7ab69fecb1d252ef34e48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fef7edb18622e8b4bcb5034a439dc40fb32fb683d108644e79338834bb2522a
[INFO] running `Command { std: "docker" "start" "-a" "7fef7edb18622e8b4bcb5034a439dc40fb32fb683d108644e79338834bb2522a", kill_on_drop: false }`
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling sdcons v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/sdcons/cons.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]   --> src/sdcons/progress.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::types::{ConfigStage, Entry, EntryMeta, HardState, MemberState};
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/sdcons/progress.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use chrono::{prelude::*, DateTime};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/sdcons/progress.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/sdcons/storage.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/sdcons/storage.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:264:44
[INFO] [stdout]     |
[INFO] [stdout] 264 |         e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:265:35
[INFO] [stdout]     |
[INFO] [stdout] 265 |         e.start_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:272:48
[INFO] [stdout]     |
[INFO] [stdout] 272 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:280:48
[INFO] [stdout]     |
[INFO] [stdout] 280 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:281:39
[INFO] [stdout]     |
[INFO] [stdout] 281 |             e.start_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/progress.rs:349:44
[INFO] [stdout]     |
[INFO] [stdout] 349 |             last_liveness_at: Local::now().timestamp_nanos(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/sdcons/cons.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]   --> src/sdcons/progress.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::types::{ConfigStage, Entry, EntryMeta, HardState, MemberState};
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/sdcons/progress.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use chrono::{prelude::*, DateTime};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/sdcons/progress.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/sdcons/storage.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/sdcons/storage.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]     --> src/sdcons/cons.rs:1410:37
[INFO] [stdout]      |
[INFO] [stdout] 1410 |     fn handle_read_reply(&mut self, from: u64, msg: ReadReplyMsg) {
[INFO] [stdout]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:264:44
[INFO] [stdout]     |
[INFO] [stdout] 264 |         e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:265:35
[INFO] [stdout]     |
[INFO] [stdout] 265 |         e.start_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:272:48
[INFO] [stdout]     |
[INFO] [stdout] 272 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:280:48
[INFO] [stdout]     |
[INFO] [stdout] 280 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/cons.rs:281:39
[INFO] [stdout]     |
[INFO] [stdout] 281 |             e.start_at = Local::now().timestamp_nanos();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stdout]    --> src/sdcons/progress.rs:349:44
[INFO] [stdout]     |
[INFO] [stdout] 349 |             last_liveness_at: Local::now().timestamp_nanos(),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sdcons/cons.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl TransferingRecord {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 310 |     fn new(channel_id: u64, to: u64) -> TransferingRecord {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `choosen_id`, `pending_id`, and `applied_id` are never read
[INFO] [stdout]    --> src/sdcons/cons.rs:475:5
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub(crate) struct Sdcons {
[INFO] [stdout]     |                   ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 475 |     choosen_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 476 |     pending_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 477 |     applied_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Sdcons` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_index_student` and `is_channel_candidate` are never used
[INFO] [stdout]    --> src/sdcons/cons.rs:589:8
[INFO] [stdout]     |
[INFO] [stdout] 567 | impl Sdcons {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 589 |     fn is_index_student(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     fn is_channel_candidate(&self, channel_id: u64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]    --> src/sdcons/progress.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Progress {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 138 |     pub node_id: u64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Progress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_liveness_at` is never read
[INFO] [stdout]    --> src/sdcons/progress.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ChannelInfo {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub last_liveness_at: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChannelInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_term` and `is_student` are never used
[INFO] [stdout]    --> src/sdcons/progress.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl ChannelInfo {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn current_term(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub fn is_student(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `member_id` is never read
[INFO] [stdout]   --> src/sdcons/storage.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(super) struct EntryQueue {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 30 |     pub member_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntryQueue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `first_entry_id`, `last_entry_meta`, `first_index_of_term`, and `last_stabled_entry_id` are never used
[INFO] [stdout]    --> src/sdcons/storage.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl EntryQueue {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn first_entry_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     fn last_entry_meta(&self) -> (u64, u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn first_index_of_term(&self, channel_term: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn last_stabled_entry_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `range`, `applied_index_range`, and `entry_index_id` are never used
[INFO] [stdout]    --> src/sdcons/storage.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl MemStorage {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 178 |     pub fn new(id: u64) -> MemStorage {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn range(&self, from: u64, to: u64, max_bytes: u64) -> Vec<Entry> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn applied_index_range(&self) -> (u64, u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     pub fn entry_index_id(&self, channel_id: u64, entry_id: u64) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]     --> src/sdcons/cons.rs:1410:37
[INFO] [stdout]      |
[INFO] [stdout] 1410 |     fn handle_read_reply(&mut self, from: u64, msg: ReadReplyMsg) {
[INFO] [stdout]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/sdcons/cons.rs:4244:13
[INFO] [stdout]      |
[INFO] [stdout] 4244 |         let mut log_meta = init_log_meta_with_default_members();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sdcons/progress.rs:781:13
[INFO] [stdout]     |
[INFO] [stdout] 781 |         let mut hint_id = 5;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sdcons/cons.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl TransferingRecord {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 310 |     fn new(channel_id: u64, to: u64) -> TransferingRecord {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `choosen_id`, `pending_id`, and `applied_id` are never read
[INFO] [stdout]    --> src/sdcons/cons.rs:475:5
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub(crate) struct Sdcons {
[INFO] [stdout]     |                   ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 475 |     choosen_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 476 |     pending_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 477 |     applied_id: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Sdcons` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `task` is never used
[INFO] [stdout]     --> src/sdcons/cons.rs:2660:8
[INFO] [stdout]      |
[INFO] [stdout] 2660 |     fn task(value: u8) -> Task {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]    --> src/sdcons/progress.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Progress {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 138 |     pub node_id: u64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Progress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_liveness_at` is never read
[INFO] [stdout]    --> src/sdcons/progress.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ChannelInfo {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub last_liveness_at: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChannelInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_term` is never used
[INFO] [stdout]    --> src/sdcons/progress.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl ChannelInfo {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn current_term(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `member_id` is never read
[INFO] [stdout]   --> src/sdcons/storage.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(super) struct EntryQueue {
[INFO] [stdout]    |                   ---------- field in this struct
[INFO] [stdout] 30 |     pub member_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntryQueue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `first_entry_id`, `last_entry_meta`, and `first_index_of_term` are never used
[INFO] [stdout]    --> src/sdcons/storage.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl EntryQueue {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn first_entry_id(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     fn last_entry_meta(&self) -> (u64, u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn first_index_of_term(&self, channel_term: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `range`, `applied_index_range`, and `entry_index_id` are never used
[INFO] [stdout]    --> src/sdcons/storage.rs:410:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl MemStorage {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn range(&self, from: u64, to: u64, max_bytes: u64) -> Vec<Entry> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn applied_index_range(&self) -> (u64, u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     pub fn entry_index_id(&self, channel_id: u64, entry_id: u64) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.72s
[INFO] running `Command { std: "docker" "inspect" "7fef7edb18622e8b4bcb5034a439dc40fb32fb683d108644e79338834bb2522a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fef7edb18622e8b4bcb5034a439dc40fb32fb683d108644e79338834bb2522a", kill_on_drop: false }`
[INFO] [stdout] 7fef7edb18622e8b4bcb5034a439dc40fb32fb683d108644e79338834bb2522a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f0b5f81758392c74853e54672190ad9ef12564bdd1bba8e65cb5f8551c4c5a2a
[INFO] running `Command { std: "docker" "start" "-a" "f0b5f81758392c74853e54672190ad9ef12564bdd1bba8e65cb5f8551c4c5a2a", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/sdcons/cons.rs:20:18
[INFO] [stderr]    |
[INFO] [stderr] 20 | use log::{debug, error, info, trace, warn};
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Entry`
[INFO] [stderr]   --> src/sdcons/progress.rs:20:33
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::types::{ConfigStage, Entry, EntryMeta, HardState, MemberState};
[INFO] [stderr]    |                                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DateTime`
[INFO] [stderr]   --> src/sdcons/progress.rs:22:26
[INFO] [stderr]    |
[INFO] [stderr] 22 | use chrono::{prelude::*, DateTime};
[INFO] [stderr]    |                          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/sdcons/progress.rs:23:18
[INFO] [stderr]    |
[INFO] [stderr] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]   --> src/sdcons/storage.rs:20:33
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stderr]    |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error` and `warn`
[INFO] [stderr]   --> src/sdcons/storage.rs:23:18
[INFO] [stderr]    |
[INFO] [stderr] 23 | use log::{debug, error, info, trace, warn};
[INFO] [stderr]    |                  ^^^^^               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stderr]    --> src/sdcons/cons.rs:264:44
[INFO] [stderr]     |
[INFO] [stderr] 264 |         e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stderr]    --> src/sdcons/cons.rs:265:35
[INFO] [stderr]     |
[INFO] [stderr] 265 |         e.start_at = Local::now().timestamp_nanos();
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stderr]    --> src/sdcons/cons.rs:272:48
[INFO] [stderr]     |
[INFO] [stderr] 272 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stderr]    --> src/sdcons/cons.rs:280:48
[INFO] [stderr]     |
[INFO] [stderr] 280 |             e.last_heartbeat_at = Local::now().timestamp_nanos();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stderr]    --> src/sdcons/cons.rs:281:39
[INFO] [stderr]     |
[INFO] [stderr] 281 |             e.start_at = Local::now().timestamp_nanos();
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::DateTime::<Tz>::timestamp_nanos`: use `timestamp_nanos_opt()` instead
[INFO] [stderr]    --> src/sdcons/progress.rs:349:44
[INFO] [stderr]     |
[INFO] [stderr] 349 |             last_liveness_at: Local::now().timestamp_nanos(),
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from`
[INFO] [stderr]     --> src/sdcons/cons.rs:1410:37
[INFO] [stderr]      |
[INFO] [stderr] 1410 |     fn handle_read_reply(&mut self, from: u64, msg: ReadReplyMsg) {
[INFO] [stderr]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/sdcons/cons.rs:310:8
[INFO] [stderr]     |
[INFO] [stderr] 309 | impl TransferingRecord {
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] 310 |     fn new(channel_id: u64, to: u64) -> TransferingRecord {
[INFO] [stderr]     |        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `choosen_id`, `pending_id`, and `applied_id` are never read
[INFO] [stderr]    --> src/sdcons/cons.rs:475:5
[INFO] [stderr]     |
[INFO] [stderr] 461 | pub(crate) struct Sdcons {
[INFO] [stderr]     |                   ------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 475 |     choosen_id: u64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 476 |     pending_id: u64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 477 |     applied_id: u64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Sdcons` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_index_student` and `is_channel_candidate` are never used
[INFO] [stderr]    --> src/sdcons/cons.rs:589:8
[INFO] [stderr]     |
[INFO] [stderr] 567 | impl Sdcons {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 589 |     fn is_index_student(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 603 |     fn is_channel_candidate(&self, channel_id: u64) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `node_id` is never read
[INFO] [stderr]    --> src/sdcons/progress.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct Progress {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 138 |     pub node_id: u64,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Progress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_liveness_at` is never read
[INFO] [stderr]    --> src/sdcons/progress.rs:286:9
[INFO] [stderr]     |
[INFO] [stderr] 272 | pub struct ChannelInfo {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 286 |     pub last_liveness_at: i64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ChannelInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `current_term` and `is_student` are never used
[INFO] [stderr]    --> src/sdcons/progress.rs:356:12
[INFO] [stderr]     |
[INFO] [stderr] 297 | impl ChannelInfo {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 356 |     pub fn current_term(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 639 |     pub fn is_student(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `member_id` is never read
[INFO] [stderr]   --> src/sdcons/storage.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub(super) struct EntryQueue {
[INFO] [stderr]    |                   ---------- field in this struct
[INFO] [stderr] 30 |     pub member_id: u64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EntryQueue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `first_entry_id`, `last_entry_meta`, `first_index_of_term`, and `last_stabled_entry_id` are never used
[INFO] [stderr]    --> src/sdcons/storage.rs:62:8
[INFO] [stderr]     |
[INFO] [stderr]  37 | impl EntryQueue {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  62 |     fn first_entry_id(&self) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  76 |     fn last_entry_meta(&self) -> (u64, u64) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 101 |     fn first_index_of_term(&self, channel_term: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 111 |     fn last_stabled_entry_id(&self) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `range`, `applied_index_range`, and `entry_index_id` are never used
[INFO] [stderr]    --> src/sdcons/storage.rs:178:12
[INFO] [stderr]     |
[INFO] [stderr] 177 | impl MemStorage {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 178 |     pub fn new(id: u64) -> MemStorage {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 410 |     pub fn range(&self, from: u64, to: u64, max_bytes: u64) -> Vec<Entry> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 594 |     pub fn applied_index_range(&self) -> (u64, u64) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 677 |     pub fn entry_index_id(&self, channel_id: u64, entry_id: u64) -> Option<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/sdcons/cons.rs:4244:13
[INFO] [stderr]      |
[INFO] [stderr] 4244 |         let mut log_meta = init_log_meta_with_default_members();
[INFO] [stderr]      |             ----^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sdcons/progress.rs:781:13
[INFO] [stderr]     |
[INFO] [stderr] 781 |         let mut hint_id = 5;
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `task` is never used
[INFO] [stderr]     --> src/sdcons/cons.rs:2660:8
[INFO] [stderr]      |
[INFO] [stderr] 2660 |     fn task(value: u8) -> Task {
[INFO] [stderr]      |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `current_term` is never used
[INFO] [stderr]    --> src/sdcons/progress.rs:356:12
[INFO] [stderr]     |
[INFO] [stderr] 297 | impl ChannelInfo {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 356 |     pub fn current_term(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `first_entry_id`, `last_entry_meta`, and `first_index_of_term` are never used
[INFO] [stderr]    --> src/sdcons/storage.rs:62:8
[INFO] [stderr]     |
[INFO] [stderr]  37 | impl EntryQueue {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  62 |     fn first_entry_id(&self) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  76 |     fn last_entry_meta(&self) -> (u64, u64) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 101 |     fn first_index_of_term(&self, channel_term: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `range`, `applied_index_range`, and `entry_index_id` are never used
[INFO] [stderr]    --> src/sdcons/storage.rs:410:12
[INFO] [stderr]     |
[INFO] [stderr] 177 | impl MemStorage {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 410 |     pub fn range(&self, from: u64, to: u64, max_bytes: u64) -> Vec<Entry> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 594 |     pub fn applied_index_range(&self) -> (u64, u64) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 677 |     pub fn entry_index_id(&self, channel_id: u64, entry_id: u64) -> Option<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `sdcons` (lib) generated 22 warnings (run `cargo fix --lib -p sdcons` to apply 7 suggestions)
[INFO] [stderr] warning: `sdcons` (lib test) generated 24 warnings (18 duplicates) (run `cargo fix --lib -p sdcons --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/sdcons/lib.rs (/opt/rustwide/target/debug/deps/sdcons-d3c2fd89f65ce281)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test cons::tests::index_leader_read_index ... ok
[INFO] [stdout] test cons::tests::learn_refreshed_entries ... ok
[INFO] [stdout] test cons::tests::index_leader_receive_read_index ... ok
[INFO] [stdout] test cons::tests::multi_member_chosen ... ok
[INFO] [stdout] test cons::tests::assign_indexes_to_entries_recieved_in_electing ... ok
[INFO] [stdout] test cons::tests::receive_entries ... ok
[INFO] [stdout] test cons::tests::enter_both_stage ... ok
[INFO] [stdout] test cons::tests::handle_vote_request ... ok
[INFO] [stdout] test cons::tests::recovery_both_stage_config_change ... ok
[INFO] [stdout] test cons::tests::committed_should_reach_majority_in_both_stage ... ok
[INFO] [stdout] test cons::tests::only_assign_index_once ... ok
[INFO] [stdout] test cons::tests::bcast_indexes ... ok
[INFO] [stdout] test cons::tests::follower_retry_read_index_when_heartbeat ... ok
[INFO] [stdout] test progress::tests::reset_to_probe ... ok
[INFO] [stdout] test cons::tests::apply_config_change ... ok
[INFO] [stdout] test progress::tests::update_match_next_id ... ok
[INFO] [stdout] test storage::tests::entry_queue_last_id ... ok
[INFO] [stdout] test cons::tests::to_follower_when_someone_declare_leader ... ok
[INFO] [stdout] test cons::tests::multi_member_receive_chosen ... ok
[INFO] [stdout] test cons::tests::single_member_choose ... ok
[INFO] [stdout] test cons::tests::recovery_new_stage_config_change ... ok
[INFO] [stdout] test cons::tests::replicate_entries ... ok
[INFO] [stdout] test cons::tests::single_member_election ... ok
[INFO] [stdout] test cons::tests::rollback_config_change ... ok
[INFO] [stdout] test cons::tests::multi_member_election ... ok
[INFO] [stdout] test storage::tests::mem_storage_apply ... ok
[INFO] [stdout] test cons::tests::transfer_leadership_after_matched ... ok
[INFO] [stdout] test cons::tests::transfer_leadership_directly ... ok
[INFO] [stdout] test storage::tests::mem_storage_basic ... ok
[INFO] [stdout] test storage::tests::mem_storage_release ... ok
[INFO] [stdout] test storage::tests::mem_storage_stable ... ok
[INFO] [stdout] test storage::tests::entry_queue_release ... ok
[INFO] [stdout] test cons::tests::to_follower_when_receive_high_term ... ok
[INFO] [stdout] test cons::tests::handle_prepare_req ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sdcons
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f0b5f81758392c74853e54672190ad9ef12564bdd1bba8e65cb5f8551c4c5a2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0b5f81758392c74853e54672190ad9ef12564bdd1bba8e65cb5f8551c4c5a2a", kill_on_drop: false }`
[INFO] [stdout] f0b5f81758392c74853e54672190ad9ef12564bdd1bba8e65cb5f8551c4c5a2a
